package com.rabbiter.market.common.util;

/**
 * @author: longxianghang
 * @date: 2025/4/16 15:42
 * @description: 时间工具类
 */
public class TimeUtil {

    /**
     * 将时间单位转换为毫秒
     * @param time 时间
     * @param unit 单位 s/m/h
     * @return
     */
    public static long convertToMilliseconds(String time, String unit) {
        // 将时间值从字符串转换为 long 类型
        long value = Long.parseLong(time);
        long milliseconds = 0;

        // 忽略大小写
        switch (unit.toLowerCase()) {
            // 秒
            case "s":
                milliseconds = value * 1000;
                break;
            // 分钟
            case "m":
                milliseconds = value * 60 * 1000;
                break;
            // 小时
            case "h":
                milliseconds = value * 60 * 60 * 1000;
                break;
            default:
                throw new IllegalArgumentException("Unsupported unit: " + unit);
        }

        return milliseconds;
    }

    /**
     * 将时间单位转换为毫秒
     * @param timeStr 时间：1s/1m/1h
     * @return
     */
    public static long convertToMilliseconds(String timeStr) {
        return convertToMilliseconds(
                timeStr.substring(0, timeStr.length() - 1),
                timeStr.substring(timeStr.length() - 1)
        );
    }
}
